home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / Sprite.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  2.6 KB  |  117 lines

  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.awt.image.ImageObserver;
  4.  
  5. public class Sprite extends LinkList implements ImageObserver {
  6.    public static final int DEFAULT = 0;
  7.    public static final int ON_PAINT = 0;
  8.    public static final int OFF_PAINT = 1;
  9.    protected JglFrame resource;
  10.    protected int Attr;
  11.    protected Image[] iChar;
  12.  
  13.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  14.       return true;
  15.    }
  16.  
  17.    public Sprite(JglFrame var1, int var2) {
  18.       super(new SpriteIndex());
  19.       this.resource = var1;
  20.       this.Attr = var2;
  21.       this.iChar = new Image[65536];
  22.    }
  23.  
  24.    public void readChar(int var1, String var2) {
  25.       this.iChar[var1] = this.resource.getImage(var2);
  26.    }
  27.  
  28.    public void readChar(int var1, String var2, boolean var3) {
  29.       this.iChar[var1] = this.resource.getImage(var2, var3);
  30.    }
  31.  
  32.    public void add(SpriteIndex var1) {
  33.       super.add(var1);
  34.    }
  35.  
  36.    public void delete(SpriteIndex var1) {
  37.       super.delete(var1);
  38.    }
  39.  
  40.    public void deleteAll() {
  41.       for(SpriteIndex var1 = (SpriteIndex)super.Top.getNext(); var1 != null; var1 = (SpriteIndex)((LinkListIndex)var1).getNext()) {
  42.          this.delete(var1);
  43.       }
  44.  
  45.    }
  46.  
  47.    public void paint(Graphics var1) {
  48.       SpriteIndex var2 = (SpriteIndex)super.Top.getNext();
  49.       if ((this.Attr & 1) == 0) {
  50.          while(var2 != null) {
  51.             this.drawSprite(var1, var2);
  52.             var2 = (SpriteIndex)((LinkListIndex)var2).getNext();
  53.          }
  54.  
  55.       }
  56.    }
  57.  
  58.    private void drawSprite(Graphics var1, SpriteIndex var2) {
  59.       int var8 = var2.getImage();
  60.       if (var8 < 65536) {
  61.          if (var8 >= 0) {
  62.             Image var5 = this.iChar[var8];
  63.             if (var5 != null) {
  64.                int var6 = var5.getWidth(this);
  65.                int var7 = var5.getHeight(this);
  66.                int var3;
  67.                int var4;
  68.                switch (var2.getAttr()) {
  69.                   case 5:
  70.                      var3 = var2.getPosition().getX() >>> 16;
  71.                      var4 = var2.getPosition().getY() >>> 16;
  72.                      break;
  73.                   case 6:
  74.                      var3 = (var2.getPosition().getX() >>> 16) - var6 / 2;
  75.                      var4 = var2.getPosition().getY() >>> 16;
  76.                      break;
  77.                   case 7:
  78.                      var3 = (var2.getPosition().getX() >>> 16) - var6;
  79.                      var4 = var2.getPosition().getY() >>> 16;
  80.                      break;
  81.                   case 8:
  82.                   case 12:
  83.                   default:
  84.                      System.out.println("drawSprite: Attr Err !!");
  85.                      return;
  86.                   case 9:
  87.                      var3 = var2.getPosition().getX() >>> 16;
  88.                      var4 = (var2.getPosition().getY() >>> 16) - var7 / 2;
  89.                      break;
  90.                   case 10:
  91.                      var3 = (var2.getPosition().getX() >>> 16) - var6 / 2;
  92.                      var4 = (var2.getPosition().getY() >>> 16) - var7 / 2;
  93.                      break;
  94.                   case 11:
  95.                      var3 = (var2.getPosition().getX() >>> 16) - var6;
  96.                      var4 = (var2.getPosition().getY() >>> 16) - var7 / 2;
  97.                      break;
  98.                   case 13:
  99.                      var3 = var2.getPosition().getX() >>> 16;
  100.                      var4 = (var2.getPosition().getY() >>> 16) - var7;
  101.                      break;
  102.                   case 14:
  103.                      var3 = (var2.getPosition().getX() >>> 16) - var6 / 2;
  104.                      var4 = (var2.getPosition().getY() >>> 16) - var7;
  105.                      break;
  106.                   case 15:
  107.                      var3 = (var2.getPosition().getX() >>> 16) - var6;
  108.                      var4 = (var2.getPosition().getY() >>> 16) - var7;
  109.                }
  110.  
  111.                var1.drawImage(var5, var3, var4, this.resource);
  112.             }
  113.          }
  114.       }
  115.    }
  116. }
  117.